Tất cả các điều cần biết về các thông số IOPS, Latency và Throughput
Để có cái nhìn trực quan và dễ hiểu nhất về các thông số IOPS, Latency và Throughput, chúng ta có thể hình dung như sau:
Ví dụ có một xe chở hàng từ điểm này đến điểm kia có các thông số:
- IOPS là số lượng chuyến đi thưc hiện trong một khoảng thời gian
- Throughput là số hàng chuyển được trong một khoảng thời gian chính là
- Latency là độ trễ trung bình trong tất cả các chuyến đi trong một khoảng thời gian đã thực hiện
Khi chúng ta muốn đánh giá một hệ thống lưu trữ storage mới, số lượng IOPS (Đầu vào / Đầu ra mỗi giây) mà hệ thống lưu trữ có thể duy trì thường được sử dụng để phân biệt một hệ thống lưu trữ này với một hệ thống khác.
Cả 3 thông số IOPS, Latency và Throughput nói lên hiệu suất lưu trữ; tốc độ băng thông, độ trễ và IOPS. Hầu hết các nhà cung cấp dịch vụ lưu trữ có xu hướng tập trung vào IOPS để biểu thị về tốc độ hệ thống lưu trữ rất tốt của họ. Nhưng việc đo lường hiệu suất hệ thống lưu trữ bằng IOPS chỉ có giá trị nếu khối lượng công việc sử dụng hệ thống lưu trữ đó yêu cầu IOPS.
Nội dung
Tìm hiểu khái niệm các thông số IOPS, Latency và Throughput
Khái niệm IOPS?
IOPS là viết tắt của “Input/Output Operations Per Second.”, có nghĩa là “Hoạt động đầu vào / đầu ra mỗi giây.” IOPS là một số liệu được sử dụng để đo lường hiệu suất của thiết bị lưu trữ hoặc mạng lưu trữ . Giá trị IOPS cho biết số lượng hoạt động đầu vào hoặc đầu ra khác nhau mà một thiết bị hoặc nhóm thiết bị có thể thực hiện trong một giây. Nó có thể được sử dụng cùng với các số liệu khác, chẳng hạn như độ trễ và thông lượng , để đo lường hiệu suất tổng thể.
Giá trị IOPS thường đồng nghĩa với “tổng số IOPS”, bao gồm kết hợp các hoạt động đọc và ghi. Tuy nhiên, cũng có thể đo các giá trị cụ thể hơn, chẳng hạn như IOPS đọc tuần tự, IOPS ghi tuần tự, IOPS đọc ngẫu nhiên và IOPS ghi ngẫu nhiên. Giá trị cao hơn có nghĩa là một thiết bị có khả năng xử lý nhiều hoạt động hơn mỗi giây. Ví dụ: giá trị IOPS ghi tuần tự cao sẽ hữu ích khi sao chép một số lượng lớn tệp từ ổ đĩa khác.
SSD có giá trị IOPS cao hơn đáng kể so với HDD . Vì SSD không có đầu ổ đĩa vật lý di chuyển xung quanh ổ đĩa nên chúng có thể thực hiện các thao tác đọc / ghi mỗi giây nhiều hơn 1.000 lần so với một ổ cứng thông thường . Ví dụ: một ổ cứng quay ở tốc độ 7200 RPM có thể có tổng giá trị IOPS là 90. Một ổ SSD hiện đại có thể có giá trị IOPS trên 100.000. Một số ổ đĩa flash cao cấp có số đo IOPS trên một triệu.
Trong khi IOPS rất quan trọng khi đo hiệu suất ổ cứng, hầu hết các tình huống trong thế giới thực không yêu cầu nhiều hơn một nghìn đầu vào / đầu ra mỗi giây. Do đó, IOPS hiếm khi được xem như một thước đo quan trọng trong hiệu suất SSD. Độ trễ và thông lượng là những yếu tố chính ảnh hưởng đến tốc độ SSD, trong khi dung lượng lưu trữ và độ bền (tuổi thọ) cũng rất quan trọng cần xem xét.
Tìm hiểu khái niệm Latency là gì?
Latency hay độ trễ là thời gian trôi qua giữa một hành động của người dùng và phản hồi kết quả. Độ trễ mạng đề cập cụ thể đến độ trễ diễn ra trong mạng hoặc trên Internet. Theo thuật ngữ thực tế, độ trễ là thời gian giữa một hành động của người dùng và phản hồi từ trang web hoặc ứng dụng đối với hành động này. Ví dụ độ trễ giữa khi người dùng nhấp vào liên kết đến một trang web và khi trình duyệt hiển thị trang web đó.
Throughput là gì?
Throughput được định nghĩa là thông lượng đề cập đến lượng dữ liệu có thể được chuyển từ vị trí này sang vị trí khác trong một khoảng thời gian nhất định. Nó được sử dụng để đo hiệu suất của ổ cứng và RAM , cũng như kết nối Internet và mạng.
Ví dụ: ổ cứng có tốc độ truyền tối đa 100 Mbps có thông lượng gấp đôi so với ổ chỉ có thể truyền dữ liệu ở tốc độ 50 Mbps. Tương tự, kết nối không dây 54 Mbps có thông lượng gấp gần 5 lần so với kết nối 11 Mbps. Tuy nhiên, tốc độ truyền dữ liệu thực tế có thể bị giới hạn bởi các yếu tố khác như tốc độ kết nối Internet và lưu lượng mạng khác. Do đó, cần nhớ rằng thông lượng tối đa của thiết bị hoặc mạng có thể cao hơn đáng kể so với thông lượng thực tế đạt được trong sử dụng hàng ngày.
Điều gì gây ra độ trễ internet?
Một trong những nguyên nhân chính gây ra độ trễ mạng là khoảng cách, cụ thể là khoảng cách giữa các thiết bị khách thực hiện yêu cầu và máy chủ phản hồi lại các yêu cầu đó.
Việc tăng thêm vài mili giây có vẻ không nhiều, nhưng điều này được kết hợp bởi tất cả các giao tiếp qua lại cần thiết để máy khách và máy chủ thiết lập kết nối, tổng kích thước và thời gian tải của trang cũng như bất kỳ sự cố nào với thiết bị mạng, dữ liệu được truyền qua đường đi. Khoảng thời gian cần thiết để phản hồi đến thiết bị khách sau khi có yêu cầu của khách được gọi là thời gian khứ hồi (RTT) .
Dữ liệu truyền qua Internet thường không chỉ phải qua một, mà là nhiều mạng. Càng nhiều mạng mà phản hồi HTTP cần đi qua thì càng có nhiều cơ hội xảy ra chậm trễ. Ví dụ, khi các gói dữ liệu đi qua các mạng, chúng sẽ đi qua Điểm trao đổi Internet (IXP) . Ở đó, các bộ định tuyến phải xử lý và định tuyến các gói dữ liệu, và đôi khi các bộ định tuyến có thể cần chia chúng thành các gói nhỏ hơn, tất cả đều thêm vài mili giây vào RTT.
Ngoài ra, cách các trang web được xây dựng có thể gây ra hiệu suất chậm. Các trang web có nhiều nội dung nặng hoặc tải nội dung từ nhiều bên thứ ba có thể hoạt động chậm chạp, vì trình duyệt phải tải xuống các tệp lớn để hiển thị chúng. Người dùng có thể ở ngay bên cạnh trung tâm dữ liệu lưu trữ trang web mà họ đang truy cập, nhưng nếu trang web có nhiều hình ảnh độ nét cao (ví dụ), thì vẫn có thể có một số độ trễ khi tải hình ảnh.
Tốc độ truyền so với IOPS
Có nhiều biến số cần xem xét khi cố gắng xác định hiệu suất tổng thể của hệ thống lưu trữ. Có những yếu tố bên ngoài như cách dữ liệu được đọc hoặc ghi vào hệ thống lưu trữ và tốc độ của chính cấu trúc mạng lưu trữ. Ngoài ra còn có những cân nhắc nội bộ như sức mạnh CPU của công cụ tính toán lưu trữ (bộ điều khiển lưu trữ), hiệu quả của phần mềm lưu trữ và tất nhiên, tốc độ của phương tiện lưu trữ được cài đặt trong hệ thống lưu trữ.
Đối với mục đích của bài viết này, chúng tôi sẽ giả định rằng tất cả các yếu tố bên ngoài là như nhau. Nếu đúng như vậy thì tốc độ truyền về cơ bản là tốc độ mà bộ điều khiển lưu trữ có thể di chuyển khối dữ liệu liền kề thông qua phần mềm lưu trữ đến phương tiện lưu trữ. Nó thường được đo bằng MB / s và tốc độ truyền cao là rất quan trọng, đặc biệt là đối với khối lượng công việc có tính chất tuần tự.
IOPS, tuy nhiên, khác nhau; chúng được đo dưới dạng một số nguyên. Nó đề cập đến số lần đọc và ghi tối đa cho các vị trí lưu trữ không liền kề. Các hoạt động này thường bị chi phối bởi thời gian tìm kiếm hoặc thời gian ổ đĩa cần đặt các đầu đọc / ghi của nó đến đúng vị trí. Bởi vì việc định vị đầu này rất tốn thời gian, tầm quan trọng của sức mạnh CPU bộ điều khiển lưu trữ và hiệu quả của phần mềm lưu trữ bị giảm thiểu đáng kể trong một mảng đĩa cứng. Mảng Flash hầu như loại bỏ thời gian tìm kiếm khỏi việc cân nhắc và do đó, chúng làm cho các biến khác như sức mạnh của bộ điều khiển lưu trữ và hiệu quả của phần mềm lưu trữ trở nên quan trọng hơn nhiều. Bộ điều khiển lưu trữ và phần mềm lưu trữ không còn có thể ẩn đằng sau hiệu suất kém của ổ cứng. Flash cho thấy chúng là gì.
Ví dụ, hãy so sánh cách hai khối lượng công việc truy cập cùng một lượng dữ liệu yêu cầu một lượng IOPS khác nhau đáng kể. Khối lượng công việc đầu tiên yêu cầu đọc mười tệp 750MB, 7,5GB và mất 100 giây để quá trình chuyển diễn ra. Điều này có nghĩa là tốc độ truyền là 75MB / s và tiêu thụ 10 IOPS, nằm trong khả năng của một đĩa cứng. Khối lượng công việc thứ hai yêu cầu đọc mười nghìn tệp 750KB, cùng một lượng dữ liệu, 7,5 GB, nhưng nó tiêu thụ 10.000 IOPS. Vì ổ đĩa thông thường không thể tạo nhiều hơn 200 IOPS nên yêu cầu này sẽ không được thực hiện trong cùng 100 giây. Đây là một ví dụ về việc các khối lượng công việc khác nhau có thể yêu cầu hiệu suất khác nhau đáng kể trong khi sử dụng cùng một dung lượng lưu trữ.
IOPS có quan trọng không?
Với định nghĩa khác về IOPS, câu hỏi tiếp theo là Chuyên gia CNTT có nên quan tâm đến hiệu suất IOPS tiềm năng của hệ thống lưu trữ không? IOPS là một phép đo quan trọng hơn nhiều trong kỷ nguyên mảng đĩa cứng vì số lượng IOPS tiềm năng thường ít hơn những gì trung tâm dữ liệu cần. Trong kỷ nguyên mảng toàn đèn flash thì điều ngược lại là đúng. Hầu hết các mảng toàn bộ flash sẽ mang lại hiệu suất IOPS cao hơn nhiều so với hầu hết các trung tâm dữ liệu sẽ cần.
Các phép đo IOPS không thể tin cậy
Một vấn đề khác khi sử dụng IOPS như một cách để phân biệt giữa các hệ thống lưu trữ flash là có quá nhiều cách để tạo số IOPS, như minh họa của chúng tôi ở trên chỉ ra. IOPS có thể bị ảnh hưởng đáng kể bởi kích thước của khối được sử dụng, sự kết hợp của hoạt động đọc / ghi và số lượng ngẫu nhiên trong luồng I / O đó. Ngay cả khi tất cả các nhà cung cấp đều tiêu chuẩn hóa về cách đặt từng biến trong số này, nó sẽ có rất ít liên quan đến trung tâm dữ liệu. Ví dụ: nếu tất cả các nhà cung cấp nói rằng họ sẽ báo cáo IOPS từ các thử nghiệm sử dụng kích thước khối 4k và kết hợp đọc / ghi ngẫu nhiên 50%, thì con số kết quả sẽ có ít ý nghĩa đối với một trung tâm dữ liệu có khối lượng công việc đang tạo ra 32k khối với 80% đọc để ghi tỉ lệ. Cuối cùng, hầu hết các trung tâm dữ liệu sẽ có nhiều khối lượng công việc chạy trên mảng tất cả các flash của họ.
Phép đo phù hợp
Cách phù hợp để đo lường hiệu suất của mảng toàn flash hoặc thậm chí là mảng kết hợp là phát triển thống kê hiệu suất dựa trên khối lượng công việc cụ thể hoặc hỗn hợp khối lượng công việc. Ví dụ: chạy kiểm tra hiệu suất SQL và kiểm tra hiệu suất VDI cùng một lúc trên cùng một hệ thống lưu trữ và thay vì báo cáo về IOPS đã sử dụng, hãy báo cáo về dữ liệu rõ ràng và phù hợp hơn với trung tâm dữ liệu. Trong trường hợp này, đó có thể là số lượng người dùng SQL đồng thời và các phiên bản VDI được hỗ trợ trong khi vẫn duy trì thời gian phản hồi có thể chấp nhận được.
Hiệu suất có thể nâng cấp
Như đã nêu ở trên, hầu hết các mảng toàn flash sẽ mang lại hiệu suất cao hơn hầu hết các trung tâm dữ liệu có thể tận dụng ngày nay. Nhưng hôm nay là từ tác ở đây. Khi mật độ máy chủ ảo và máy tính để bàn ảo, cũng như người dùng trên mỗi cơ sở dữ liệu, tất cả tiếp tục mở rộng quy mô, các trung tâm dữ liệu sẽ ngày càng cần nhiều hiệu suất hơn. Bản thân phương tiện flash sẽ trở nên nhanh hơn một chút nhưng rào cản chính để mở rộng hiệu suất sẽ là bộ điều khiển lưu trữ và hiệu quả của phần mềm lưu trữ.
Các tính năng và khả năng của phần mềm lưu trữ sẽ bổ sung thêm chi phí cho hiệu suất flash. Hiệu quả của phần mềm lưu trữ đó trong cách nó thực thi các khả năng khác nhau này là rất quan trọng đối với hiệu suất tổng thể. May mắn thay, nhà cung cấp all-flash có quyền truy cập vào sức mạnh tính toán ngày càng tăng có thể che lấp phần lớn chi phí của phần mềm lưu trữ. Mặc dù vậy, điều quan trọng là nhà cung cấp flash có thể cung cấp đường dẫn nâng cấp cho phần cứng bộ điều khiển của họ để khách hàng của họ có thể tận dụng sức mạnh gia tăng của mỗi lần lặp lại CPU Intel.
Phần kết luận
Sử dụng IOPS như một cách để phân biệt giữa các mảng flash là một thực hành rủi ro. Hầu hết các hệ thống cung cấp nhiều IOPS hơn nhu cầu của trung tâm dữ liệu thông thường. Các trung tâm dữ liệu này có thể dành thời gian của họ tốt hơn bằng cách tìm kiếm mảng flash cung cấp các tính năng họ cần với mức giá họ có thể mua được, cũng như lộ trình nâng cấp để tiếp tục đón đầu nhu cầu về hiệu suất.
Đối với những trung tâm dữ liệu cần hiệu suất đủ cao để IOPS có thể phù hợp, thì số IOPS do nhà cung cấp cung cấp có quá nhiều biến động giữa chúng để tạo ra sự khác biệt có ý nghĩa giữa chúng. Các trung tâm dữ liệu này tốt hơn nên yêu cầu các kết quả cụ thể dựa trên hỗn hợp khối lượng công việc phù hợp chặt chẽ với môi trường của chúng.